$data modify storage dab:util valueTypeCheck.type set value "$(type)"

#select type
function util:value_type_check/type

#check
    #normal
    $execute unless data storage dab:util valueTypeCheck{type:"boolean"} store result score #success temp run data modify storage dab:util valueTypeCheck.test append $(path)

    #boolean
    $execute if data storage dab:util valueTypeCheck{type:"boolean"} store result score #success temp run function util:value_type_check/bool_check {path:"$(path)"}

#return
execute if score #success temp matches 1 unless function util:value_type_check/reset run return 1

data remove storage dab:util valueTypeCheck
scoreboard players reset #success temp
return fail